"""
-*- coding:utf-8 -*-
__project__ = "python_study_one"
__file_name__ = "study2020_11_20_作业"
__author__ = "admin"
__time__ = "2020/11/20 22:27"
__product_name__ = PyCharm 
"""
'''
⦁    这两个参数是什么意思：*args， ** kwargs？我们为什么要使用它们？
⦁    （先自己想，然后再实验，最后查百度）
可变参数
如果我们不确定要往函数中传入多少个参数，或者我们想往函数中以列表和元组的形式传参数时，那就使要用*args； 
如果我们不知道要往函数中传入多少个关键词参数，或者想传入字典的值作为关键词参数时，那就要使用**kwargs。

# 例子：
def num(*args):
    print('333')
    print(type(args), args)


num(1)
num(1, 2)
num(1, 4, 'fhsf')
num(1, 7, 9, 0, [1, 8, 0])

def num1(**kwargs):
    print('6666')
    print(type(kwargs), kwargs)


num1(name='haha')
num1(name='haha', age=18)
num1(name='haha', age=18, height=199)


⦁    如何在一个函数内部修改全局变量
使用globals()
⦁    用lambda函数实现两个数相乘
a = lambda x,y : x * y
print(a(3,4))
⦁    列表推导式求列表所有奇数并构造新列表，a =  [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
b = [i for i in a if i % 2 == 1]
print(b)
'''


